home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 72 / IOPROG_72.ISO / soft / c++ / NCTDiscWriter2.exe / {app} / MS C# 7.0 Samples / TestCSDataCDWriter / frmTestCSharpDataCDWriter.cs < prev    next >
Encoding:
Text File  |  2003-04-02  |  26.1 KB  |  836 lines

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7.  
  8.  
  9. namespace DiskWriter
  10. {
  11.     /// <summary>
  12.     /// Summary description for Form1.
  13.     /// </summary>
  14.     public class Form1 : System.Windows.Forms.Form
  15.     {
  16.         internal System.Windows.Forms.GroupBox GroupBox2;
  17.         internal System.Windows.Forms.Button WriteNowBtn;
  18.         internal System.Windows.Forms.Button DeleteAllBtn;
  19.         internal System.Windows.Forms.ListView ListView1;
  20.         internal System.Windows.Forms.ColumnHeader ColumnHeader1;
  21.         internal System.Windows.Forms.ColumnHeader ColumnHeader2;
  22.         internal System.Windows.Forms.Label CurDirLbl;
  23.         internal System.Windows.Forms.StatusBar stBarAudioWriter;
  24.         internal System.Windows.Forms.StatusBarPanel StatusBarPanel1;
  25.         internal System.Windows.Forms.StatusBarPanel StatusBarPanel2;
  26.         internal System.Windows.Forms.StatusBarPanel StatusBarPanel3;
  27.         internal System.Windows.Forms.StatusBarPanel StatusBarPanel4;
  28.         internal System.Windows.Forms.GroupBox GroupBox1;
  29.         internal System.Windows.Forms.Button AddFileBtn;
  30.         internal System.Windows.Forms.Button AddDirBtn;
  31.         internal Microsoft.VisualBasic.Compatibility.VB6.FileListBox fileSelect;
  32.         internal Microsoft.VisualBasic.Compatibility.VB6.DirListBox dirSelect;
  33.         internal Microsoft.VisualBasic.Compatibility.VB6.DriveListBox drvSelect;
  34.  
  35.         public bool WrtiteInProgress;
  36.         public int driveNum;
  37.         string errString;
  38.         public bool err;
  39.         public bool OperationProgress;
  40.         public int eraseProgress;
  41.         public int writeProgress;
  42.         string fName;
  43.         int fNumber;
  44.         ListViewItem itmX;
  45.         string pattern;
  46.         string[] FileAsTrack;
  47.         string[] FilePath;
  48.         string driveMaxR;
  49.         string driveMaxWSpeed;
  50.         string BurnProof;
  51.         string driveBufferSize;
  52.         public frmWrite frmWrite1;
  53.         private System.Windows.Forms.MenuItem MenuItem1;
  54.         private System.Windows.Forms.MenuItem MenuItem2;
  55.         private System.Windows.Forms.MenuItem MenuItem3;
  56.         private System.Windows.Forms.MenuItem MenuItem4;
  57.         private System.Windows.Forms.MenuItem MenuItem5;
  58.         private System.Windows.Forms.MenuItem MenuItem6;
  59.         private System.Windows.Forms.MenuItem MenuItem7;
  60.         private System.Windows.Forms.MenuItem MenuItem8;
  61.         private System.Windows.Forms.MenuItem MenuItem9;
  62.         private System.Windows.Forms.MenuItem MenuItem10;
  63.         private System.Windows.Forms.MenuItem MenuItem11;
  64.         private System.Windows.Forms.MenuItem MenuItem12;
  65.         private System.Windows.Forms.MenuItem MenuItem13;
  66.         private System.Windows.Forms.MainMenu mainMenu1;
  67.  
  68.         public NCTDISCWRITERLib.DataCDWriterClass DataCDWriter1;
  69.  
  70.         /// <summary>
  71.         /// Required designer variable.
  72.         /// </summary>
  73.         private System.ComponentModel.Container components = null;
  74.  
  75.         public Form1()
  76.         {
  77.             //
  78.             // Required for Windows Form Designer support
  79.             //
  80.             InitializeComponent();
  81.             FileAsTrack = new string[99];
  82.             FilePath = new string[99];
  83.  
  84.             //
  85.             // TODO: Add any constructor code after InitializeComponent call
  86.             //
  87.         }
  88.  
  89.         /// <summary>
  90.         /// Clean up any resources being used.
  91.         /// </summary>
  92.         protected override void Dispose( bool disposing )
  93.         {
  94.             if( disposing )
  95.             {
  96.                 if (components != null) 
  97.                 {
  98.                     components.Dispose();
  99.                 }
  100.             }
  101.             base.Dispose( disposing );
  102.         }
  103.  
  104.         #region Windows Form Designer generated code
  105.         /// <summary>
  106.         /// Required method for Designer support - do not modify
  107.         /// the contents of this method with the code editor.
  108.         /// </summary>
  109.         private void InitializeComponent()
  110.         {
  111.             this.GroupBox2 = new System.Windows.Forms.GroupBox();
  112.             this.WriteNowBtn = new System.Windows.Forms.Button();
  113.             this.DeleteAllBtn = new System.Windows.Forms.Button();
  114.             this.ListView1 = new System.Windows.Forms.ListView();
  115.             this.ColumnHeader1 = new System.Windows.Forms.ColumnHeader();
  116.             this.ColumnHeader2 = new System.Windows.Forms.ColumnHeader();
  117.             this.CurDirLbl = new System.Windows.Forms.Label();
  118.             this.stBarAudioWriter = new System.Windows.Forms.StatusBar();
  119.             this.StatusBarPanel1 = new System.Windows.Forms.StatusBarPanel();
  120.             this.StatusBarPanel2 = new System.Windows.Forms.StatusBarPanel();
  121.             this.StatusBarPanel3 = new System.Windows.Forms.StatusBarPanel();
  122.             this.StatusBarPanel4 = new System.Windows.Forms.StatusBarPanel();
  123.             this.GroupBox1 = new System.Windows.Forms.GroupBox();
  124.             this.AddFileBtn = new System.Windows.Forms.Button();
  125.             this.AddDirBtn = new System.Windows.Forms.Button();
  126.             this.fileSelect = new Microsoft.VisualBasic.Compatibility.VB6.FileListBox();
  127.             this.dirSelect = new Microsoft.VisualBasic.Compatibility.VB6.DirListBox();
  128.             this.drvSelect = new Microsoft.VisualBasic.Compatibility.VB6.DriveListBox();
  129.             this.MenuItem1 = new System.Windows.Forms.MenuItem();
  130.             this.MenuItem2 = new System.Windows.Forms.MenuItem();
  131.             this.MenuItem3 = new System.Windows.Forms.MenuItem();
  132.             this.MenuItem4 = new System.Windows.Forms.MenuItem();
  133.             this.MenuItem5 = new System.Windows.Forms.MenuItem();
  134.             this.MenuItem6 = new System.Windows.Forms.MenuItem();
  135.             this.MenuItem7 = new System.Windows.Forms.MenuItem();
  136.             this.MenuItem8 = new System.Windows.Forms.MenuItem();
  137.             this.MenuItem9 = new System.Windows.Forms.MenuItem();
  138.             this.MenuItem10 = new System.Windows.Forms.MenuItem();
  139.             this.MenuItem11 = new System.Windows.Forms.MenuItem();
  140.             this.MenuItem12 = new System.Windows.Forms.MenuItem();
  141.             this.MenuItem13 = new System.Windows.Forms.MenuItem();
  142.             this.mainMenu1 = new System.Windows.Forms.MainMenu();
  143.             this.GroupBox2.SuspendLayout();
  144.             ((System.ComponentModel.ISupportInitialize)(this.StatusBarPanel1)).BeginInit();
  145.             ((System.ComponentModel.ISupportInitialize)(this.StatusBarPanel2)).BeginInit();
  146.             ((System.ComponentModel.ISupportInitialize)(this.StatusBarPanel3)).BeginInit();
  147.             ((System.ComponentModel.ISupportInitialize)(this.StatusBarPanel4)).BeginInit();
  148.             this.GroupBox1.SuspendLayout();
  149.             this.SuspendLayout();
  150.             // 
  151.             // GroupBox2
  152.             // 
  153.             this.GroupBox2.Controls.AddRange(new System.Windows.Forms.Control[] {
  154.                                                                                     this.WriteNowBtn,
  155.                                                                                     this.DeleteAllBtn,
  156.                                                                                     this.ListView1});
  157.             this.GroupBox2.Location = new System.Drawing.Point(0, 176);
  158.             this.GroupBox2.Name = "GroupBox2";
  159.             this.GroupBox2.Size = new System.Drawing.Size(608, 208);
  160.             this.GroupBox2.TabIndex = 2;
  161.             this.GroupBox2.TabStop = false;
  162.             this.GroupBox2.Text = "Burn Image View";
  163.             // 
  164.             // WriteNowBtn
  165.             // 
  166.             this.WriteNowBtn.Location = new System.Drawing.Point(528, 176);
  167.             this.WriteNowBtn.Name = "WriteNowBtn";
  168.             this.WriteNowBtn.Size = new System.Drawing.Size(72, 24);
  169.             this.WriteNowBtn.TabIndex = 7;
  170.             this.WriteNowBtn.Text = "Start Write";
  171.             this.WriteNowBtn.Click += new System.EventHandler(this.WriteNowBtn_Click);
  172.             // 
  173.             // DeleteAllBtn
  174.             // 
  175.             this.DeleteAllBtn.Location = new System.Drawing.Point(8, 176);
  176.             this.DeleteAllBtn.Name = "DeleteAllBtn";
  177.             this.DeleteAllBtn.Size = new System.Drawing.Size(64, 24);
  178.             this.DeleteAllBtn.TabIndex = 6;
  179.             this.DeleteAllBtn.Text = "Delete All";
  180.             this.DeleteAllBtn.Click += new System.EventHandler(this.DeleteAllBtn_Click);
  181.             // 
  182.             // ListView1
  183.             // 
  184.             this.ListView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
  185.                                                                                         this.ColumnHeader1,
  186.                                                                                         this.ColumnHeader2});
  187.             this.ListView1.Location = new System.Drawing.Point(8, 16);
  188.             this.ListView1.MultiSelect = false;
  189.             this.ListView1.Name = "ListView1";
  190.             this.ListView1.Size = new System.Drawing.Size(592, 152);
  191.             this.ListView1.TabIndex = 4;
  192.             this.ListView1.View = System.Windows.Forms.View.Details;
  193.             // 
  194.             // ColumnHeader1
  195.             // 
  196.             this.ColumnHeader1.Text = "No";
  197.             this.ColumnHeader1.Width = 40;
  198.             // 
  199.             // ColumnHeader2
  200.             // 
  201.             this.ColumnHeader2.Text = "Path";
  202.             this.ColumnHeader2.Width = 548;
  203.             // 
  204.             // CurDirLbl
  205.             // 
  206.             this.CurDirLbl.Location = new System.Drawing.Point(0, 392);
  207.             this.CurDirLbl.Name = "CurDirLbl";
  208.             this.CurDirLbl.Size = new System.Drawing.Size(608, 24);
  209.             this.CurDirLbl.TabIndex = 4;
  210.             // 
  211.             // stBarAudioWriter
  212.             // 
  213.             this.stBarAudioWriter.Location = new System.Drawing.Point(0, 417);
  214.             this.stBarAudioWriter.Name = "stBarAudioWriter";
  215.             this.stBarAudioWriter.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
  216.                                                                                                 this.StatusBarPanel1,
  217.                                                                                                 this.StatusBarPanel2,
  218.                                                                                                 this.StatusBarPanel3,
  219.                                                                                                 this.StatusBarPanel4});
  220.             this.stBarAudioWriter.ShowPanels = true;
  221.             this.stBarAudioWriter.Size = new System.Drawing.Size(608, 16);
  222.             this.stBarAudioWriter.TabIndex = 5;
  223.             this.stBarAudioWriter.Text = "CD-RW";
  224.             // 
  225.             // StatusBarPanel1
  226.             // 
  227.             this.StatusBarPanel1.Text = "CD-RW";
  228.             this.StatusBarPanel1.ToolTipText = "Disc Type";
  229.             this.StatusBarPanel1.Width = 150;
  230.             // 
  231.             // StatusBarPanel2
  232.             // 
  233.             this.StatusBarPanel2.Text = "Open";
  234.             this.StatusBarPanel2.ToolTipText = "Disk Status";
  235.             this.StatusBarPanel2.Width = 150;
  236.             // 
  237.             // StatusBarPanel3
  238.             // 
  239.             this.StatusBarPanel3.Text = "50.000Mb";
  240.             this.StatusBarPanel3.ToolTipText = "Used Space";
  241.             this.StatusBarPanel3.Width = 150;
  242.             // 
  243.             // StatusBarPanel4
  244.             // 
  245.             this.StatusBarPanel4.Text = "650.000Mb";
  246.             this.StatusBarPanel4.ToolTipText = "Estimated Used Space";
  247.             this.StatusBarPanel4.Width = 150;
  248.             // 
  249.             // GroupBox1
  250.             // 
  251.             this.GroupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
  252.                                                                                     this.AddFileBtn,
  253.                                                                                     this.AddDirBtn,
  254.                                                                                     this.fileSelect,
  255.                                                                                     this.dirSelect,
  256.                                                                                     this.drvSelect});
  257.             this.GroupBox1.Location = new System.Drawing.Point(0, 8);
  258.             this.GroupBox1.Name = "GroupBox1";
  259.             this.GroupBox1.Size = new System.Drawing.Size(608, 160);
  260.             this.GroupBox1.TabIndex = 6;
  261.             this.GroupBox1.TabStop = false;
  262.             this.GroupBox1.Text = "File View";
  263.             // 
  264.             // AddFileBtn
  265.             // 
  266.             this.AddFileBtn.Location = new System.Drawing.Point(536, 40);
  267.             this.AddFileBtn.Name = "AddFileBtn";
  268.             this.AddFileBtn.Size = new System.Drawing.Size(64, 24);
  269.             this.AddFileBtn.TabIndex = 4;
  270.             this.AddFileBtn.Text = "Add File";
  271.             this.AddFileBtn.Click += new System.EventHandler(this.AddFileBtn_Click);
  272.             // 
  273.             // AddDirBtn
  274.             // 
  275.             this.AddDirBtn.Location = new System.Drawing.Point(536, 16);
  276.             this.AddDirBtn.Name = "AddDirBtn";
  277.             this.AddDirBtn.Size = new System.Drawing.Size(64, 24);
  278.             this.AddDirBtn.TabIndex = 3;
  279.             this.AddDirBtn.Text = "Add Dir";
  280.             this.AddDirBtn.Click += new System.EventHandler(this.AddDirBtn_Click);
  281.             // 
  282.             // fileSelect
  283.             // 
  284.             this.fileSelect.Location = new System.Drawing.Point(304, 16);
  285.             this.fileSelect.Name = "fileSelect";
  286.             this.fileSelect.Pattern = "*.*";
  287.             this.fileSelect.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple;
  288.             this.fileSelect.Size = new System.Drawing.Size(224, 134);
  289.             this.fileSelect.TabIndex = 2;
  290.             // 
  291.             // dirSelect
  292.             // 
  293.             this.dirSelect.IntegralHeight = false;
  294.             this.dirSelect.Location = new System.Drawing.Point(8, 40);
  295.             this.dirSelect.Name = "dirSelect";
  296.             this.dirSelect.Size = new System.Drawing.Size(296, 112);
  297.             this.dirSelect.TabIndex = 1;
  298.             this.dirSelect.SelectedIndexChanged += new System.EventHandler(this.dirSelect_SelectedIndexChanged_1);
  299.             // 
  300.             // drvSelect
  301.             // 
  302.             this.drvSelect.Location = new System.Drawing.Point(8, 16);
  303.             this.drvSelect.Name = "drvSelect";
  304.             this.drvSelect.Size = new System.Drawing.Size(296, 21);
  305.             this.drvSelect.TabIndex = 0;
  306.             this.drvSelect.SelectedIndexChanged += new System.EventHandler(this.drvSelect_SelectedIndexChanged);
  307.             // 
  308.             // MenuItem1
  309.             // 
  310.             this.MenuItem1.Index = 0;
  311.             this.MenuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  312.                                                                                       this.MenuItem2,
  313.                                                                                       this.MenuItem3});
  314.             this.MenuItem1.Text = "File";
  315.             this.MenuItem1.Click += new System.EventHandler(this.MenuItem1_Click);
  316.             // 
  317.             // MenuItem2
  318.             // 
  319.             this.MenuItem2.Index = 0;
  320.             this.MenuItem2.Text = "Add File";
  321.             this.MenuItem2.Click += new System.EventHandler(this.MenuItem2_Click);
  322.             // 
  323.             // MenuItem3
  324.             // 
  325.             this.MenuItem3.Index = 1;
  326.             this.MenuItem3.Text = "Exit";
  327.             this.MenuItem3.Click += new System.EventHandler(this.MenuItem3_Click);
  328.             // 
  329.             // MenuItem4
  330.             // 
  331.             this.MenuItem4.Index = 1;
  332.             this.MenuItem4.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  333.                                                                                       this.MenuItem5,
  334.                                                                                       this.MenuItem6});
  335.             this.MenuItem4.Text = " Recorder";
  336.             this.MenuItem4.Click += new System.EventHandler(this.MenuItem4_Click);
  337.             // 
  338.             // MenuItem5
  339.             // 
  340.             this.MenuItem5.Index = 0;
  341.             this.MenuItem5.Text = "Choose Recorder";
  342.             this.MenuItem5.Click += new System.EventHandler(this.MenuItem5_Click);
  343.             // 
  344.             // MenuItem6
  345.             // 
  346.             this.MenuItem6.Enabled = false;
  347.             this.MenuItem6.Index = 1;
  348.             this.MenuItem6.Text = "Set Burn Method";
  349.             this.MenuItem6.Click += new System.EventHandler(this.MenuItem6_Click);
  350.             // 
  351.             // MenuItem7
  352.             // 
  353.             this.MenuItem7.Index = 2;
  354.             this.MenuItem7.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  355.                                                                                       this.MenuItem8,
  356.                                                                                       this.MenuItem9,
  357.                                                                                       this.MenuItem10,
  358.                                                                                       this.MenuItem11});
  359.             this.MenuItem7.Text = "CD";
  360.             this.MenuItem7.Click += new System.EventHandler(this.MenuItem7_Click);
  361.             // 
  362.             // MenuItem8
  363.             // 
  364.             this.MenuItem8.Index = 0;
  365.             this.MenuItem8.Text = "Disk Info";
  366.             this.MenuItem8.Click += new System.EventHandler(this.MenuItem8_Click);
  367.             // 
  368.             // MenuItem9
  369.             // 
  370.             this.MenuItem9.Index = 1;
  371.             this.MenuItem9.Text = "Refresh";
  372.             this.MenuItem9.Click += new System.EventHandler(this.MenuItem9_Click);
  373.             // 
  374.             // MenuItem10
  375.             // 
  376.             this.MenuItem10.Index = 2;
  377.             this.MenuItem10.Text = "Erase CD-RW";
  378.             this.MenuItem10.Click += new System.EventHandler(this.MenuItem10_Click);
  379.             // 
  380.             // MenuItem11
  381.             // 
  382.             this.MenuItem11.Index = 3;
  383.             this.MenuItem11.Text = "Eject";
  384.             this.MenuItem11.Click += new System.EventHandler(this.MenuItem11_Click);
  385.             // 
  386.             // MenuItem12
  387.             // 
  388.             this.MenuItem12.Index = 3;
  389.             this.MenuItem12.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  390.                                                                                        this.MenuItem13});
  391.             this.MenuItem12.Text = "Write";
  392.             this.MenuItem12.Click += new System.EventHandler(this.MenuItem12_Click);
  393.             // 
  394.             // MenuItem13
  395.             // 
  396.             this.MenuItem13.Index = 0;
  397.             this.MenuItem13.Text = "Start Write";
  398.             this.MenuItem13.Click += new System.EventHandler(this.MenuItem13_Click);
  399.             // 
  400.             // mainMenu1
  401.             // 
  402.             this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  403.                                                                                       this.MenuItem1,
  404.                                                                                       this.MenuItem4,
  405.                                                                                       this.MenuItem7,
  406.                                                                                       this.MenuItem12});
  407.             // 
  408.             // Form1
  409.             // 
  410.             this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
  411.             this.ClientSize = new System.Drawing.Size(608, 433);
  412.             this.Controls.AddRange(new System.Windows.Forms.Control[] {
  413.                                                                           this.GroupBox1,
  414.                                                                           this.stBarAudioWriter,
  415.                                                                           this.CurDirLbl,
  416.                                                                           this.GroupBox2});
  417.             this.Menu = this.mainMenu1;
  418.             this.Name = "Form1";
  419.             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  420.             this.Text = "TestC#DataCDWriter";
  421.             this.Load += new System.EventHandler(this.Form1_Load);
  422.             this.GroupBox2.ResumeLayout(false);
  423.             ((System.ComponentModel.ISupportInitialize)(this.StatusBarPanel1)).EndInit();
  424.             ((System.ComponentModel.ISupportInitialize)(this.StatusBarPanel2)).EndInit();
  425.             ((System.ComponentModel.ISupportInitialize)(this.StatusBarPanel3)).EndInit();
  426.             ((System.ComponentModel.ISupportInitialize)(this.StatusBarPanel4)).EndInit();
  427.             this.GroupBox1.ResumeLayout(false);
  428.             this.ResumeLayout(false);
  429.  
  430.         }
  431.         #endregion
  432.  
  433.         /// <summary>
  434.         /// The main entry point for the application.
  435.         /// </summary>
  436.         [STAThread]
  437.         static void Main() 
  438.         {
  439.             Application.Run(new Form1());
  440.         }
  441.  
  442.         public void RefreshDiskInfo()
  443.         {
  444.             DataCDWriter1.Refresh();
  445.             Int32 wCD = (DataCDWriter1.cdUsedSpace / 1024) / 1024;
  446.             Int32 wBurnSize = (DataCDWriter1.GetDataVolumeBurnSize() / 1024) / 1024;
  447.  
  448.             switch( DataCDWriter1.cdType )
  449.             {
  450.                 case NCTDISCWRITERLib.CD_TYPE.WRITEONCE:
  451.                     stBarAudioWriter.Panels[0].Text = "CD-R, CD-ROM";
  452.                     stBarAudioWriter.Panels[2].Text = wCD.ToString() + " MB";
  453.                     stBarAudioWriter.Panels[3].Text = wBurnSize.ToString() + " MB";
  454.                     break;
  455.                 case NCTDISCWRITERLib.CD_TYPE.ERASABLE:
  456.                     stBarAudioWriter.Panels[0].Text = "CD-RW";
  457.                     stBarAudioWriter.Panels[2].Text = wCD.ToString() + " MB";
  458.                     stBarAudioWriter.Panels[3].Text = wBurnSize.ToString() + " MB";
  459.                     break;
  460.                 case NCTDISCWRITERLib.CD_TYPE.RANDOMACCESS:
  461.                     stBarAudioWriter.Panels[0].Text = "DVD-RAM";
  462.                     stBarAudioWriter.Panels[2].Text = wCD.ToString() + " MB";
  463.                     stBarAudioWriter.Panels[3].Text = wBurnSize.ToString() + " MB";
  464.                     break;
  465.                 case NCTDISCWRITERLib.CD_TYPE.NODISC:
  466.                     stBarAudioWriter.Panels[0].Text = "No Disc";
  467.                     stBarAudioWriter.Panels[2].Text = "0";
  468.                     stBarAudioWriter.Panels[3].Text = "0";
  469.                     break;
  470.                 default:
  471.                     stBarAudioWriter.Panels[0].Text = "No Disc";
  472.                     stBarAudioWriter.Panels[2].Text = "0";
  473.                     stBarAudioWriter.Panels[3].Text = "0";
  474.                     break;
  475.             }
  476.  
  477.             switch( DataCDWriter1.cdStatus )
  478.             {
  479.                 case NCTDISCWRITERLib.CD_STATUS.BLANK:
  480.                     stBarAudioWriter.Panels[1].Text = "Blank";
  481.                     break;
  482.                 case NCTDISCWRITERLib.CD_STATUS.WRITEBLE:
  483.                     stBarAudioWriter.Panels[1].Text = "Open";
  484.                     break;
  485.                 case NCTDISCWRITERLib.CD_STATUS.NOTWRITEBLE:
  486.                     stBarAudioWriter.Panels[1].Text = "Closed";
  487.                     break;
  488.                 case NCTDISCWRITERLib.CD_STATUS.UNRECOGNIZED:
  489.                     stBarAudioWriter.Panels[1].Text = "Unknown";
  490.                     stBarAudioWriter.Panels[2].Text = "0";
  491.                     stBarAudioWriter.Panels[3].Text = "0";
  492.                     break;
  493.                 default:
  494.                     stBarAudioWriter.Panels[1].Text = "Unknown";
  495.                     stBarAudioWriter.Panels[2].Text = "0";
  496.                     stBarAudioWriter.Panels[3].Text = "0";
  497.                     break;
  498.             }
  499.  
  500.             this.Refresh();
  501.         }
  502.  
  503.         private void Form1_UnLoad(object sender, System.EventArgs e)
  504.         {
  505.             DataCDWriter1.DriverClose();
  506.         }
  507.         private void Form1_Load(object sender, System.EventArgs e)
  508.         {
  509.             DataCDWriter1 = new NCTDISCWRITERLib.DataCDWriterClass();
  510.             DataCDWriter1.DriverOpen();
  511.  
  512.             DataCDWriter1.ErrorEx += new NCTDISCWRITERLib._IDataCDWriterEvents_ErrorExEventHandler(this.DataCDWriter1_ErrorEx);
  513.             DataCDWriter1.OperationProgress += new NCTDISCWRITERLib._IDataCDWriterEvents_OperationProgressEventHandler(this.DataCDWriter1_OperationProgress);
  514.             DataCDWriter1.MediaChange += new NCTDISCWRITERLib._IDataCDWriterEvents_MediaChangeEventHandler(this.DataCDWriter1_MediaChange);
  515.  
  516.             this.WrtiteInProgress = false;
  517.             dirSelect.Path = drvSelect.Drive;
  518.             fileSelect.Path = dirSelect.Path;
  519.  
  520.             DataCDWriter1.driveNum = 1;
  521.             int MaxSpeed;
  522.  
  523.             MaxSpeed = DataCDWriter1.driveMaxRSpeed;
  524.             if( MaxSpeed > 0 )
  525.             {
  526.                 driveMaxR = MaxSpeed + "x";
  527.             } 
  528.             else 
  529.             {
  530.                 driveMaxR = "N/A";
  531.             }
  532.         
  533.  
  534.             MaxSpeed = DataCDWriter1.driveMaxWSpeed;
  535.             if( MaxSpeed > 0 )
  536.             {
  537.                 driveMaxWSpeed = MaxSpeed + "x";
  538.             } 
  539.             else
  540.             {
  541.                 driveMaxWSpeed = "N/A";
  542.             }
  543.             
  544.             if( DataCDWriter1.driveBurnProofEnabled )
  545.             {
  546.                 BurnProof = "1";
  547.             } 
  548.             else
  549.             {
  550.                 BurnProof = "0";
  551.             }
  552.         
  553.             Int32 w = (DataCDWriter1.driveBufferSize / 1024) / 1024;
  554.             driveBufferSize = w.ToString() + " MB";
  555.  
  556.             err = false;
  557.             RefreshDiskInfo();
  558.  
  559.             if( err == true )
  560.             {
  561.                 MessageBox.Show("No CD/DVD readers or recorders found!");
  562.                 WriteNowBtn.Enabled = false;
  563.  
  564.             }
  565.             err = false;
  566.  
  567.             fNumber = 0;
  568.  
  569.             err = false;
  570.         }
  571.  
  572.         private void MenuItem1_Click(object sender, System.EventArgs e)
  573.         {
  574.         
  575.         }
  576.  
  577.         private void MenuItem2_Click(object sender, System.EventArgs e)
  578.         {
  579.             int fileSelNum = 0;
  580.             Int32 w = 0;
  581.  
  582.             while( fileSelNum < fileSelect.Items.Count )
  583.             {
  584.                 if( fileSelect.GetSelected(fileSelNum) == true )
  585.                 {
  586.                     fName = fileSelect.get_Items(fileSelNum);
  587.                     FileAsTrack[fNumber] = fName;
  588.                     FilePath[fNumber] = fileSelect.Path + "\\" + fName;
  589.                     DataCDWriter1.DataAddItem(FilePath[fNumber]);
  590.                     CurDirLbl.Text = "";
  591.  
  592.                     w = (fNumber + 1);
  593.                     itmX = ListView1.Items.Add(w.ToString());
  594.                     itmX.SubItems.Add(FileAsTrack[fNumber]);
  595.                     fNumber = fNumber + 1;
  596.                 }
  597.                 fileSelNum = fileSelNum + 1;
  598.             }
  599.             this.Refresh();
  600.  
  601.             w = (DataCDWriter1.GetDataVolumeBurnSize() / 1024) / 1024;
  602.             stBarAudioWriter.Panels[3].Text = w.ToString() + " MB";
  603.         }
  604.  
  605.         private void MenuItem3_Click(object sender, System.EventArgs e)
  606.         {
  607.             this.DestroyHandle();
  608.         }
  609.  
  610.         private void MenuItem4_Click(object sender, System.EventArgs e)
  611.         {
  612.         
  613.         }
  614.  
  615.         private void MenuItem5_Click(object sender, System.EventArgs e)
  616.         {
  617.             System.Windows.Forms.Form frm = new frmChooseRec();
  618.             frm.ShowDialog(this);
  619.             frm.Dispose();
  620.         }
  621.  
  622.         private void MenuItem6_Click(object sender, System.EventArgs e)
  623.         {
  624.         
  625.         }
  626.  
  627.         private void MenuItem7_Click(object sender, System.EventArgs e)
  628.         {
  629.  
  630.         
  631.         }
  632.  
  633.         private void MenuItem8_Click(object sender, System.EventArgs e)
  634.         {
  635.             System.Windows.Forms.Form frm = new frmDiskInfo();
  636.             frm.ShowDialog(this);
  637.             frm.Dispose();
  638.         }
  639.  
  640.         private void MenuItem9_Click(object sender, System.EventArgs e)
  641.         {
  642.             RefreshDiskInfo();
  643.             //System.Windows.Forms.Form
  644.         }
  645.  
  646.         private void MenuItem10_Click(object sender, System.EventArgs e)
  647.         {
  648.             System.Windows.Forms.Form frm = new frmErase();
  649.             frm.ShowDialog(this);
  650.             frm.Dispose();
  651.             //            System.Windows.Forms.Form
  652.         }
  653.  
  654.         private void MenuItem11_Click(object sender, System.EventArgs e)
  655.         {
  656.             DataCDWriter1.Eject();
  657.             RefreshDiskInfo();
  658.             //            System.Windows.Forms.Form
  659.         }
  660.  
  661.         private void MenuItem12_Click(object sender, System.EventArgs e)
  662.         {
  663.         
  664.         }
  665.  
  666.         private void MenuItem13_Click(object sender, System.EventArgs e)
  667.         {
  668.             WriteDisc();
  669.             //            System.Windows.Forms.Form
  670.         }
  671.  
  672.         private void drvSelect_SelectedIndexChanged(object sender, System.EventArgs e)
  673.         {
  674.             if( (drvSelect.Drive != "a:") && (drvSelect.Drive != "b:") )
  675.             {
  676.                 dirSelect.Path = drvSelect.Drive;
  677.                 fileSelect.Path = dirSelect.Path;
  678.                 fileSelect.Refresh();
  679.             }
  680.         }
  681.  
  682.         private void dirSelect_SelectedIndexChanged_1(object sender, System.EventArgs e)
  683.         {
  684.             fileSelect.Path = dirSelect.Path;
  685.             //            MessageBox.Show(dirSelect.Path);
  686.             fileSelect.Refresh();
  687.             this.Refresh();
  688.         }
  689.  
  690.         private void DeleteAllBtn_Click(object sender, System.EventArgs e)
  691.         {
  692.             ListView1.Items.Clear();
  693.             DataCDWriter1.DataDeleteAllItems();
  694.             fNumber = 0;
  695.             Int32 w = (DataCDWriter1.GetDataVolumeBurnSize() / 1024) / 1024;
  696.             stBarAudioWriter.Panels[3].Text = w.ToString() + " MB";
  697.         }
  698.  
  699.         private void AddFileBtn_Click(object sender, System.EventArgs e)
  700.         {
  701.             int fileSelNum = 0;
  702.             Int32 w = 0;
  703.  
  704.             while( fileSelNum < fileSelect.Items.Count )
  705.             {
  706.                 if( fileSelect.GetSelected(fileSelNum) == true )
  707.                 {
  708.                     fName = fileSelect.get_Items(fileSelNum);
  709.                     FileAsTrack[fNumber] = fName;
  710.                     FilePath[fNumber] = fileSelect.Path + "\\" + fName;
  711.                     DataCDWriter1.DataAddItem(FilePath[fNumber]);
  712.                     CurDirLbl.Text = "";
  713.  
  714.                     w = (fNumber + 1);
  715.                     itmX = ListView1.Items.Add(w.ToString());
  716.                     itmX.SubItems.Add(FileAsTrack[fNumber]);
  717.                     fNumber = fNumber + 1;
  718.                 }
  719.                 fileSelNum = fileSelNum + 1;
  720.             }
  721.             this.Refresh();
  722.  
  723.             w = (DataCDWriter1.GetDataVolumeBurnSize() / 1024) / 1024;
  724.             stBarAudioWriter.Panels[3].Text = w.ToString() + " MB";
  725.         }
  726.  
  727.         private void AddDirBtn_Click(object sender, System.EventArgs e)
  728.         {
  729.             fName = dirSelect.Path;
  730.             Int32 w = 0;
  731.             err = false;
  732.             DataCDWriter1.DataAddItem(fName);
  733.  
  734.             if( err == false )
  735.             {
  736.                 FileAsTrack[fNumber] = dirSelect.Path;
  737.                 FilePath[fNumber] = dirSelect.Path;
  738.                 CurDirLbl.Text = "";
  739.  
  740.                 w = (fNumber + 1);
  741.                 itmX = ListView1.Items.Add(w.ToString());
  742.                 itmX.SubItems.Add(FileAsTrack[fNumber]);
  743.                 fNumber = fNumber + 1;
  744.                 fName = "";
  745.                 CurDirLbl.Text = "";
  746.             }
  747.  
  748.             this.Refresh();
  749.  
  750.             w = (DataCDWriter1.GetDataVolumeBurnSize() / 1024) / 1024;
  751.             stBarAudioWriter.Panels[3].Text = w.ToString() + " MB";
  752.         }
  753.  
  754.         public void WriteDisc()
  755.         {
  756.             frmWrite1 = new frmWrite();
  757.             frmWrite1.ShowDialog(this);
  758.             frmWrite1.Dispose();
  759.         }
  760.  
  761.         private void WriteNowBtn_Click(object sender, System.EventArgs e)
  762.         {
  763.             this.WrtiteInProgress = true;
  764.             WriteDisc();
  765.         }
  766.  
  767.  
  768.         public void DataCDWriter1_ErrorEx(NCTDISCWRITERLib.ERRCODE error,string errDescr)
  769.         {
  770.             err = true;
  771.             errString = errDescr;
  772.  
  773.             if( (error != NCTDISCWRITERLib.ERRCODE.DRIVENOTSUPPORTED) && (error != NCTDISCWRITERLib.ERRCODE.INITFAILED))
  774.             {
  775.                 MessageBox.Show("Error: " + errDescr);
  776.                 if( this.WrtiteInProgress == true )
  777.                 {
  778.                     ListView1.Items.Clear();
  779.                     DataCDWriter1.DataDeleteAllItems();
  780.                     fNumber = 0;
  781.                     Int32 w = (DataCDWriter1.GetDataVolumeBurnSize() / 1024) / 1024;
  782.                     stBarAudioWriter.Panels[3].Text = w.ToString() + " MB";
  783.                 }
  784.             }
  785.         }
  786.         public void DataCDWriter1_MediaChange()  
  787.         {
  788.             RefreshDiskInfo();
  789.         }
  790.  
  791.         public void DataCDWriter1_OperationProgress(short progress)  
  792.         {
  793.             OperationProgress = true;
  794.             if( DataCDWriter1.driveOperation == NCTDISCWRITERLib.OPERATION.ADD_ITEM )
  795.             {
  796.                 CurDirLbl.Text = DataCDWriter1.GetAddItemCurPath();
  797.                 Application.DoEvents();
  798.                 this.Refresh();
  799.             }
  800.             if( DataCDWriter1.driveOperation == NCTDISCWRITERLib.OPERATION.ERASE_DISC )
  801.             {
  802.                 eraseProgress = progress;
  803.             }
  804.             else
  805.             {
  806.                 writeProgress = progress;
  807.                 frmWrite1.OperationProgress(progress);    
  808.             }
  809.         }
  810.  
  811.         private void LoadTracks()
  812.         {
  813.             Int32 i = 0, w=0;
  814.             ListView1.Items.Clear();
  815.             DataCDWriter1.DataDeleteAllItems();
  816.             while( i < fNumber )
  817.             {
  818.                 w = i + 1;
  819.                 itmX = ListView1.Items.Add(w.ToString());
  820.                 itmX.Text = w.ToString();
  821.                 itmX.SubItems.Add(FileAsTrack[i]);
  822.                 DataCDWriter1.DataAddItem(FilePath[i]);
  823.                 CurDirLbl.Text = "";
  824.                 i = i + 1;
  825.             }
  826.  
  827.             this.Refresh();
  828.             
  829.             w = (DataCDWriter1.GetDataVolumeBurnSize() / 1024) / 1024;
  830.             stBarAudioWriter.Panels[3].Text = w.ToString() + " MB";
  831.         }
  832.  
  833.  
  834.     }
  835. }
  836.